package com.ruoyi.binance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 15分钟实时K线数据对象 binance_15min_k
 * 
 * @author zq
 * @date 2025-10-17
 */
public class Binance15minK extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 代码 */
    private String code;

    /** 数据时间 */
    private Date time;

    /** 开盘价 */
    @Excel(name = "开盘价")
    private BigDecimal open;

    /** 最高价 */
    @Excel(name = "最高价")
    private BigDecimal high;

    /** 最低价 */
    @Excel(name = "最低价")
    private BigDecimal low;

    /** 收盘价 */
    @Excel(name = "收盘价")
    private BigDecimal close;

    /** 收盘时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收盘时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date closeTime;

    /** 成交额 */
    @Excel(name = "成交额")
    private BigDecimal amount;

    /** 成交量 */
    @Excel(name = "成交量")
    private BigDecimal volume;

    /** 成交笔数 */
    @Excel(name = "成交笔数")
    private Long number;

    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }

    public void setTime(Date time) 
    {
        this.time = time;
    }

    public Date getTime() 
    {
        return time;
    }

    public void setOpen(BigDecimal open) 
    {
        this.open = open;
    }

    public BigDecimal getOpen() 
    {
        return open;
    }

    public void setHigh(BigDecimal high) 
    {
        this.high = high;
    }

    public BigDecimal getHigh() 
    {
        return high;
    }

    public void setLow(BigDecimal low) 
    {
        this.low = low;
    }

    public BigDecimal getLow() 
    {
        return low;
    }

    public void setClose(BigDecimal close) 
    {
        this.close = close;
    }

    public BigDecimal getClose() 
    {
        return close;
    }

    public void setCloseTime(Date closeTime) 
    {
        this.closeTime = closeTime;
    }

    public Date getCloseTime() 
    {
        return closeTime;
    }

    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }

    public void setNumber(Long number) 
    {
        this.number = number;
    }

    public Long getNumber() 
    {
        return number;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("code", getCode())
            .append("time", getTime())
            .append("open", getOpen())
            .append("high", getHigh())
            .append("low", getLow())
            .append("close", getClose())
            .append("closeTime", getCloseTime())
            .append("amount", getAmount())
            .append("volume", getVolume())
            .append("number", getNumber())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
